package com.fbw.sys.controller;

import com.alibaba.druid.filter.AutoLoad;
import com.fbw.sys.constast.SysConstast;
import com.fbw.sys.domain.User;
import com.fbw.sys.service.UserService;
import com.fbw.sys.uitls.WebUtils;
import com.fbw.sys.vo.UserVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("login")
public class LoginController {
    @Autowired
    private UserService userService;

    //跳转登陆页面
    @RequestMapping("toLogin")
    public String toLogin(){
        return "system/main/login";
    }


    //登陆方法
    @RequestMapping("login")
    public String login(UserVo userVo, Model model){

        User user = this.userService.login(userVo);
        /*
        知识点：这里的UserVo是User的子类，SpringMVC机制，照样能够通过反射去给父类的private属性注入。
         */
        if(user!=null){
            //创建session，保存user，封装工具类
            //日志记录登陆信息
            WebUtils.getHttpSession().setAttribute("user",user);
            return "system/main/index";//跳转到主页面
        }else{
            model.addAttribute("error",SysConstast.USER_LOGIN_ERROR_MSG);
            return "system/main/login";//跳转登陆界面，重新登陆
        }
    }
}
